package com.xyazm.order.domain.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.xyazm.common.domain.BaseDO;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serializable;
import java.util.Date;

/**
 * <p>
 * 订单表
 * </p>
 *
 * @author xuyou
 * @since 2022-05-02
 */
@Data
@EqualsAndHashCode(callSuper = false)
@ApiModel(value = "OrderInfo对象", description = "订单表")
@TableName("order_info")
public class OrderInfoDO extends BaseDO implements Serializable {


    @ApiModelProperty(value = "接入方业务线标识  1, \"自营商城\"")
    @TableField("business_identifier")
    private Integer businessIdentifier;

    @ApiModelProperty(value = "订单编号")
    @TableField("order_id")
    private String orderId;

    @ApiModelProperty(value = "父订单编号")
    @TableField("parent_order_id")
    private String parentOrderId;

    @ApiModelProperty(value = "接入方订单号")
    @TableField("business_order_id")
    private String businessOrderId;

    @ApiModelProperty(value = "订单类型 1:一般订单  255:其它")
    @TableField("order_type")
    private Integer orderType;

    @ApiModelProperty(value = "订单状态 10:已创建, 30:已履约, 40:出库, 50:配送中, 60:已签收, 70:已取消, 100:已拒收, 255:无效订单")
    @TableField("order_status")
    private Integer orderStatus;

    @ApiModelProperty(value = "订单取消类型")
    @TableField("cancel_type")
    private Integer cancelType;

    @ApiModelProperty(value = "订单取消时间")
    @TableField("cancel_time")
    private Date cancelTime;

    @ApiModelProperty(value = "卖家编号")
    @TableField("seller_id")
    private String sellerId;

    @ApiModelProperty(value = "买家编号")
    @TableField("user_id")
    private String userId;

    @ApiModelProperty(value = "使用的优惠券编号")
    @TableField("coupon_id")
    private String couponId;

    @ApiModelProperty(value = "交易总金额（以分为单位存储）")
    @TableField("total_amount")
    private Integer totalAmount;

    @ApiModelProperty(value = "交易支付金额")
    @TableField("pay_amount")
    private Integer payAmount;

    @ApiModelProperty(value = "支付方式 10:微信支付 20:支付宝支付")
    @TableField("pay_type")
    private Integer payType;

    @ApiModelProperty(value = "支付时间")
    @TableField("pay_time")
    private Date payTime;

    @ApiModelProperty(value = "支付订单截止时间")
    @TableField("expire_time")
    private Date expireTime;

    @ApiModelProperty(value = "用户备注")
    @TableField("user_remark")
    private String userRemark;

    @ApiModelProperty(value = "订单删除状态 0:未删除  1:已删除")
    @TableField("delete_status")
    private Integer deleteStatus;

    @ApiModelProperty(value = "订单评论状态 0:未发表评论  1:已发表评论")
    @TableField("comment_status")
    private Integer commentStatus;

    @ApiModelProperty(value = "扩展信息")
    @TableField("ext_json")
    private String extJson;


}
